1. Field of the Invention
The present invention relates generally to an improved data processing system and, more specifically, to a computer implemented method, an apparatus, and a computer program product for dynamic management of resource utilization in a reverse proxy web server.
2. Description of the Related Art
Hyper Text Markup Language (HTML) is the publishing language used to create much of the material available on the World Wide Web. The Hyper Text Markup Language 4.01 Specification is a W3C Recommendation dated 24 Dec. 1999 and is available from the World Wide Web Consortium web site at www.w3.org. The Hyper Text Markup Language 4.01 specification defines a mechanism, for browsers, called link pre-fetching. Various link types are defined within the Hyper Text Markup Language specification
When a browser recognizes the <link rel=“prefetch” . . . > or <link rel=“next” . . . > tags in the header section of the Hyper Text Markup Language document, the browser can choose to preload the content in an effort to enhance the users experience. The pre-fetched data is typically linked directly to the user's current context within the web site. By retrieving content which is linked to the current page during periods when the user is idle, such as when reading a web page and not requesting new pages the user experiences shorter delays when the user chooses to move to a different context. A typical use of this feature of the Hyper Text Markup Language specification by a web application developer is to include pre-fetch directives on selected web pages for the pages the developer believes would most commonly be accessed from the selected web pages. If the web application developer makes incorrect assumptions about the user access patterns of the application, an unnecessary amount of resource may be consumed or wasted by pre-fetching pages that the user is not likely to view. In a typical enterprise environment where a number of applications are served through a central proxy infrastructure, such as Tivoli® Access Manager WebSEAL, available from International Business Machines Corporation or Microsoft® ISA Server, available from Microsoft Inc., operational issues may be introduced through the use of the link tag. For example, individual applications may use link pre-fetching in such a way that pre-fetching places too much load on the reverse proxy web server. The additional load may reduce the ability of the reverse proxy web server to respond efficiently to requests across all of the web applications that the reverse proxy web server is configured to route.
A number of attempts to resolve the problems just described have been implemented. The attempted solutions include web developers iteratively modifying the use, by the web application, of the pre-fetching link tags to be suitable for the peak loads experienced on the site. This approach is reactive and susceptible to the same issues when the usage patterns change. In production environments, formal change control procedures could extend the time required to implement a change to tune the environment. In another example, a recommendation was made to avoid the use of the link tags, and forgo the performance and user experience improvements gained by pre-fetching content. In yet another example, a proposed implementation avoids the use of a reverse proxy web server and loses the benefits inherent in reverse proxy technology such as isolation and centralized security management.